In a system that includes an operational unit and a memory, the operational unit can simultaneously process a number of bits of data to perform an operation. Accordingly, data is typically supplied to the operation unit at a speed that supports the rate at which the operational unit processes data. Therefore, the operating speed of the system may depend on whether the memory is capable of supplying data to the operational unit when needed.
When the memory outputs data through, current is supplied to a switching device via a power line to the memory. When the switching device consumes the supplied current, switching noise may be generated due to a parasitic element associated the power line, thus causing a delay in data transmission or distortion of the data output from the memory.
It is assumed that most bits of data output from a semiconductor memory device are switched in one direction, and remaining bits of the data are switched in the other direction, e.g., in the opposite direction. In this case, the most significant bits of data and the remaining bits of the output data may be delayed for different times and the output of the data from the semiconductor memory device may occur at different times, thereby causing skew between the output data. The skew may become large when the number of data bits output from the semiconductor memory device is large, the magnitude of a parasitic element at the power line is large, and the data is output from the semiconductor memory device at high speed.
As appreciated by those skilled in the art, the skew represents inconsistencies (i.e., differences) in the timing between when data output from the memory device is available. When data is read from or written to a memory device, e.g., a dynamic random access memory (DRAM), data training may be performed to adjust for skew between data bits. Data training is a technique that adjusts for time skew between outputs of the memory device using a predetermined data pattern between a controller and the memory device. Data training may be categorized into two types: when data is written to the memory device and when data is read from the memory device.
In general, a memory device include an additional device to perform data training. However, inclusion of the additional device may reduce an area of the memory device in which memory cells are to be formed.